package cn.zqy.demo.day11.demo03;


/**
 * 局部内部类，如果希望访问该方法的局部变量，那么这个局部变量必须是【有效的final值】
 *  从java8开始，只要局部变量事实不变，那么final可省略。
 *
 *  原因：
 *      1.new出来的对象在堆中。
 *      2.局部变量跟着方法，在栈中。
 *      3.方法执行完毕，立刻出栈，局部变量销毁。
 *      4.new出来的会在堆中一直存在，知道垃圾回收。
 *
 * */
public class Demo04MethodInnerClassNotice {

    public void meth() {
        int num = 10;
        // 下面赋值错误。
//        num = 89;
        class Zi{
            private int num = 30;
            public void mm() {
                System.out.println(num);
            }
        }
    }
}
